package com.wust.smartcity.gateway.server;

import com.wust.smartcity.common.config.MinioAutoConfiguration;
import com.wust.smartcity.common.config.RabbitMqAutoConfiguration;
import com.wust.smartcity.common.util.MinioStorageApi;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.FilterType;

@EnableEurekaClient
@ComponentScan(basePackages =
        {"com.wust.smartcity.gateway.server", "com.wust.smartcity.common"},
        excludeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE,
                classes = {
                    MinioAutoConfiguration.class,
                    MinioStorageApi.class,
                    RabbitMqAutoConfiguration.class
                }
        )
)
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class GatewayServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(GatewayServerApplication.class, args);
    }
}
